home *** CD-ROM | disk | FTP | other *** search
/ com!online 2005 May / com_0505_1.iso / opensource / top10 / amc_install.exe / {app} / Scripts / Filmweb (PL) small pic.ifs < prev    next >
Encoding:
Text File  |  2004-03-20  |  19.0 KB  |  507 lines

  1. // GETINFO SCRIPTING
  2. // Filmweb (PL) info & small picture, v2004 by BestiaPL
  3.  
  4. (***************************************************
  5.  *  Movie information & small picture importation  *
  6.  *    script for Filmweb http://www.filmweb.pl     *
  7.  *           (c) 2002 Piotr Kardasz                *
  8.  *     05.10.2003 Improvements made by Adma's      *
  9.  *   07.10.2003 Modifications by Adma's to import  *
  10.  *                 small picture                   *
  11.  *      03.03.2004 Modyfications by BestiaPL       *
  12.  *      support for new movie database links       *
  13.  *                                                 *
  14.  *  For use with Ant Movie Catalog 3.4.2           *
  15.  *  www.antp.be/software/moviecatalog              *
  16.  *                                                 *
  17.  *  This program is free software; you can         *
  18.  *  redistribute it and/or modify it under the     *
  19.  *  terms of the GNU General Public License as     *
  20.  *  published by the Free Software Foundation;     *
  21.  *  either version 2 of the License, or (at your   *
  22.  *  option) any later version.                     *
  23.  ***************************************************)
  24.  
  25. program FilmWeb;
  26. var
  27.   MovieName: string;
  28.  
  29. function FindLine(Pattern: string; List: TStringList; StartAt: Integer): Integer;
  30. var
  31.   i: Integer;
  32. begin
  33.   result := -1;
  34.   if StartAt < 0 then
  35.     StartAt := 0;
  36.   for i := StartAt to List.Count-1 do
  37.     if Pos(Pattern, List.GetString(i)) <> 0 then
  38.     begin
  39.       result := i;
  40.       Break;
  41.     end;
  42. end;
  43.  
  44. procedure DelSpace(var Value: String);
  45. var
  46.   FullValue: String;
  47.   Counter: Integer;
  48. begin
  49.   if Value <> '' then
  50.   begin
  51.     FullValue := FullValue + StrGet(Value, 1);
  52.     for Counter := 2 to Length(Value) do
  53.     begin
  54.       if StrGet(Value, Counter) <> ' ' then
  55.         FullValue := FullValue + StrGet(Value, Counter)
  56.       else
  57.         if StrGet(FullValue, Length(FullValue)) <> ' ' then
  58.           FullValue := FullValue + ' ';
  59.     end;
  60.     Value := FullValue;
  61.   end
  62. end;
  63.  
  64. procedure DecodeHTML(var Value: String);
  65. var
  66.   FullValue, CharCode: String;
  67.   Counter: Integer;
  68. begin
  69.   if Value <> '' then
  70.   begin
  71.     FullValue := '';
  72.     Counter := 1;
  73.     repeat
  74.       if StrGet(Value, Counter) <> '&' then
  75.         begin
  76.           CharCode := copy(Value, Counter, 1);
  77.           case CharCode of
  78.             '▒': CharCode := '╣';
  79.             '╢': CharCode := '£';
  80.             'í': CharCode := 'Ñ';
  81.             '╝': CharCode := 'ƒ';
  82.             'ª': CharCode := 'î';
  83.             '¼': CharCode := 'Å';
  84.           end;
  85.           FullValue := FullValue + CharCode;
  86.           Counter := Counter + 1;
  87.         end
  88.       else
  89.         begin
  90.           CharCode := copy(Value, Counter, 7);
  91.           case CharCode of
  92.             'ą': FullValue := FullValue + '╣';
  93.             'ć': FullValue := FullValue + 'µ';
  94.             'ę': FullValue := FullValue + 'Ω';
  95.             'ł': FullValue := FullValue + '│';
  96.             'ń': FullValue := FullValue + '±';
  97.             'ó': FullValue := FullValue + '≤';
  98.             'ś': FullValue := FullValue + '£';
  99.             'ź': FullValue := FullValue + 'ƒ';
  100.             'ż': FullValue := FullValue + '┐';
  101.             'Ą': FullValue := FullValue + 'Ñ';
  102.             'Ć': FullValue := FullValue + '╞';
  103.             'Ę': FullValue := FullValue + '╩';
  104.             'Ł': FullValue := FullValue + 'ú';
  105.             'Ń': FullValue := FullValue + '╤';
  106.             'Ó': FullValue := FullValue + '╙';
  107.             'Ś': FullValue := FullValue + 'î';
  108.             'Ź': FullValue := FullValue + 'Å';
  109.             'Ż': FullValue := FullValue + '»';
  110.             'Š': FullValue := FullValue + ' ';
  111.             'š': FullValue := FullValue + 'í';
  112.             'Ţ': FullValue := FullValue + 'í';
  113.             'ţ': FullValue := FullValue + 'ú';
  114.             'Ť': FullValue := FullValue + 'ñ';
  115.             'ť': FullValue := FullValue + 'Ñ';
  116.             'Ŧ': FullValue := FullValue + 'î';
  117.             'ŧ': FullValue := FullValue + 'º';
  118.             'Ũ': FullValue := FullValue + '¿';
  119.             'ũ': FullValue := FullValue + '⌐';
  120.             'Ű': FullValue := FullValue + '¬';
  121.             'ű': FullValue := FullValue + '½';
  122.             'Ų': FullValue := FullValue + '¼';
  123.             'ų': FullValue := FullValue + '¡';
  124.             'Ŵ': FullValue := FullValue + '«';
  125.             'ŵ': FullValue := FullValue + '»';
  126.             'Ŷ': FullValue := FullValue + '░';
  127.             'ŷ': FullValue := FullValue + '▒';
  128.             'Ÿ': FullValue := FullValue + '▓';
  129.             'ƀ': FullValue := FullValue + '┤';
  130.             'Ɓ': FullValue := FullValue + '╡';
  131.             'Ƃ': FullValue := FullValue + '╢';
  132.             'ƃ': FullValue := FullValue + '╖';
  133.             'Ƅ': FullValue := FullValue + '╕';
  134.             'ƅ': FullValue := FullValue + '╣';
  135.             'Ɔ': FullValue := FullValue + '║';
  136.             'Ƈ': FullValue := FullValue + '╗';
  137.             'ƈ': FullValue := FullValue + '╝';
  138.             'Ɖ': FullValue := FullValue + '╜';
  139.             'Ɛ': FullValue := FullValue + '╛';
  140.             'Ƒ': FullValue := FullValue + '┐';
  141.             'ƒ': FullValue := FullValue + '└';
  142.             'Ɠ': FullValue := FullValue + '┴';
  143.             'Ɣ': FullValue := FullValue + '┬';
  144.             'ƕ': FullValue := FullValue + '├';
  145.             'Ɩ': FullValue := FullValue + '─';
  146.             'Ɨ': FullValue := FullValue + '┼';
  147.             'Ƙ': FullValue := FullValue + '╞';
  148.             'ƙ': FullValue := FullValue + '╟';
  149.             'Ȁ': FullValue := FullValue + '╚';
  150.             'ȁ': FullValue := FullValue + '╔';
  151.             'Ȃ': FullValue := FullValue + '╩';
  152.             'ȃ': FullValue := FullValue + '╦';
  153.             'Ȅ': FullValue := FullValue + '╠';
  154.             'ȅ': FullValue := FullValue + '═';
  155.             'Ȇ': FullValue := FullValue + '╬';
  156.             'ȇ': FullValue := FullValue + '╧';
  157.             'Ȉ': FullValue := FullValue + '╨';
  158.             'ȉ': FullValue := FullValue + '╤';
  159.             'Ȑ': FullValue := FullValue + '╥';
  160.             'ȑ': FullValue := FullValue + '╙';
  161.             'Ȓ': FullValue := FullValue + '╘';
  162.             'ȓ': FullValue := FullValue + '╒';
  163.             'Ȕ': FullValue := FullValue + '╓';
  164.             'ȕ': FullValue := FullValue + '╫';
  165.             'Ȗ': FullValue := FullValue + '╪';
  166.             'ȗ': FullValue := FullValue + '┘';
  167.             'Ș': FullValue := FullValue + '┌';
  168.             'ș': FullValue := FullValue + '█';
  169.             'Ƞ': FullValue := FullValue + '▄';
  170.             'ȡ': FullValue := FullValue + '▌';
  171.             'Ȣ': FullValue := FullValue + '▐';
  172.             'ȣ': FullValue := FullValue + '▀';
  173.             'Ȥ': FullValue := FullValue + 'α';
  174.             'ȥ': FullValue := FullValue + 'ß';
  175.             'Ȧ': FullValue := FullValue + 'Γ';
  176.             'ȧ': FullValue := FullValue + 'π';
  177.             'Ȩ': FullValue := FullValue + 'Σ';
  178.             'ȩ': FullValue := FullValue + 'σ';
  179.             'Ȱ': FullValue := FullValue + 'µ';
  180.             'ȱ': FullValue := FullValue + 'τ';
  181.             'Ȳ': FullValue := FullValue + 'Φ';
  182.             'ȳ': FullValue := FullValue + 'Θ';
  183.             'ȴ': FullValue := FullValue + 'Ω';
  184.             'ȵ': FullValue := FullValue + 'δ';
  185.             'ȶ': FullValue := FullValue + '∞';
  186.             'ȷ': FullValue := FullValue + 'φ';
  187.             'ȸ': FullValue := FullValue + 'ε';
  188.             'ȹ': FullValue := FullValue + '∩';
  189.             'ɀ': FullValue := FullValue + '≡';
  190.             'Ɂ': FullValue := FullValue + '±';
  191.             'ɂ': FullValue := FullValue + '≥';
  192.             'Ƀ': FullValue := FullValue + '≤';
  193.             'Ʉ': FullValue := FullValue + '⌠';
  194.             'Ʌ': FullValue := FullValue + '⌡';
  195.             'Ɇ': FullValue := FullValue + '÷';
  196.             'ɇ': FullValue := FullValue + '≈';
  197.             'Ɉ': FullValue := FullValue + '°';
  198.             'ɉ': FullValue := FullValue + '∙';
  199.             'ɐ': FullValue := FullValue + '·';
  200.             'ɑ': FullValue := FullValue + '√';
  201.             'ɒ': FullValue := FullValue + 'ⁿ';
  202.             'ɓ': FullValue := FullValue + '²';
  203.             'ɔ': FullValue := FullValue + '■';
  204.             'ɕ': FullValue := FullValue + ' ';
  205.             '&#x%DF;': FullValue := FullValue + '▀';
  206.             '4': FullValue := FullValue + '"';      
  207.           else
  208.             FullValue := FullValue + CharCode;  
  209.           end;
  210.           Counter := Counter + 7;
  211.         end;
  212.     until Counter > Length(Value);
  213.     HTMLDecode(FullValue);
  214.     Value := FullValue;
  215.   end
  216. end;
  217.  
  218. procedure AddMoviesTitles(Page: TStringList; var LineNr: Integer);
  219. var
  220.   Line: string;
  221.   MovieTitle, MovieAddress: string;
  222.   StartPos, EndPos: Integer;
  223. begin
  224.   LineNr := FindLine('>           [film]<', Page, LineNr);
  225.   if LineNr > -1 then
  226.   begin
  227.     PickTreeAdd('Znaleziono filmy:', '');
  228.     Line := Page.GetString(LineNr);
  229.     repeat
  230.       repeat
  231.         StartPos := pos('>           [film]<', Line) + 19;
  232.         Line := copy(Line, StartPos, Length(Line) - StartPos);
  233.         StartPos := pos('href="', Line) + 6;
  234.         Line := copy(Line, StartPos, Length(Line) - StartPos);        
  235.         MovieAddress := copy(Line, 1, pos('">', Line) - 1);
  236.         StartPos := pos('">', Line) + 2;
  237.         Line := copy(Line, StartPos, Length(Line) - StartPos);
  238.         MovieTitle := copy(Line, 1, pos('</a>', Line) - 1);
  239.         DecodeHTML(MovieTitle);
  240.         HTMLRemoveTags(MovieTitle);
  241.     if pos('http', MovieAddress) = 0 then
  242.             MovieAddress := 'http://www.filmweb.pl/' + MovieAddress;
  243.         PickTreeAdd(MovieTitle, MovieAddress);
  244.  
  245.       until pos('>           [film]<', Line) = 0;
  246.       LineNr := LineNr + 1;
  247.       Line := Page.GetString(LineNr);
  248.     until pos('>           [film]<', Line) = 0;
  249.   end
  250.   else
  251.     break;
  252. end;
  253.  
  254. procedure AnalyzePage(Address: string);
  255. var
  256.   Page: TStringList;
  257.   LineNr: Integer;
  258. begin
  259.   Page := TStringList.Create;
  260.   Page.Text := GetPage(Address);
  261. //  if pos('wyniki wyszukiwania [Filmweb.pl]', Page.Text) = 0 then
  262.   if pos('yniki wyszukiwania', Page.Text) = 0 then
  263.     AnalyzeMoviePage(Page)
  264.   else
  265.   begin
  266.     PickTreeClear;
  267.     LineNr := 0;
  268.     AddMoviesTitles(Page, LineNr);
  269.     if PickTreeExec(Address) then
  270.       AnalyzePage(Address);
  271.   end;
  272.   Page.Free;
  273. end;
  274.  
  275. procedure AnalyzeMoviePage(Page: TStringList);
  276. var
  277.   Line, Value, FullValue: string;
  278.   LineNr, Counter: Integer;
  279.   StartPos, EndPos: Integer;
  280. begin
  281.  
  282.   // Tytu│ polski
  283.   LineNr := FindLine('name="tytul">', Page, 0);
  284.   if LineNr > -1 then
  285.   begin
  286.     Line := Page.GetString(LineNr);
  287.     StartPos := pos('name="tytul">', Line) + 12;
  288.     Line := copy(Line, StartPos, Length(Line) - StartPos);
  289.     StartPos := pos('>', Line) + 1;
  290.     Line := copy(Line, StartPos, Length(Line) - StartPos);
  291.     
  292.     StartPos:= pos(' (aka', Line);
  293.     if StartPos > 0
  294.       then Value := copy(Line, 1, StartPos - 1)
  295.       else Value := copy(Line, 1, pos('</column>', AnsiLowerCase(Line)) - 1);
  296.     DecodeHTML(Value);  
  297.     SetField(fieldTranslatedTitle, Value);
  298.   end
  299.  
  300.   // Tytu│ oryginalny
  301.   LineNr := FindLine('name="tytulorg">', Page, 0);
  302.   if LineNr > -1 then
  303.   begin
  304.     Line := Page.GetString(LineNr);
  305.     StartPos := pos('name="tytulorg">', Line) + 15;
  306.     Line := copy(Line, StartPos, Length(Line) - StartPos);
  307.     StartPos := pos('>', Line) + 1;
  308.     Line := copy(Line, StartPos, Length(Line) - StartPos);  
  309.     Value := copy(Line, 1, pos('</column>', AnsiLowerCase(Line)) - 1);
  310.     DecodeHTML(Value);  
  311.     SetField(fieldOriginalTitle, Value);
  312.   end
  313.            LineNr:= FindLine('<br><span class="text">', Page, 0);
  314.            if LineNr > -1
  315.           then begin
  316.                     Line := Page.GetString(LineNr);
  317.                     StartPos := pos('<br><span class="text">', Line) + 23;
  318.                     Line := copy(Line, StartPos, Length(Line) - StartPos);
  319.                     StartPos := pos('(', Line) + 1;
  320.                     Line := copy(Line, StartPos, Length(Line) - StartPos);
  321.                     Value := copy(Line, 1, pos('</span><br>', AnsiLowerCase(Line)) - 2);
  322.                     DecodeHTML(Value);
  323.                     SetField(fieldOriginalTitle, Value);
  324.          end
  325.  
  326.   // îrednia ocena  
  327.   LineNr := FindLine('rednia ocena:', Page, 0);
  328.   if LineNr > -1 then
  329.   begin
  330.     Line := Page.GetString(LineNr);
  331.     StartPos := pos('rednia ocena:', Line) + 12;
  332.     Line := copy(Line, StartPos, Length(Line) - StartPos);
  333.     StartPos := pos('">', Line) + 2;
  334.     Line := copy(Line, StartPos, Length(Line) - StartPos);  
  335.     Value := IntToStr(Round(StrToInt(StrGet(Line, 1), 0) + (StrToInt(StrGet(Line, 3), 0) / 10) + (StrToInt(StrGet(Line, 4), 0) / 100)));
  336.     SetField(fieldRating, Value);
  337.   end
  338.  
  339.   // Kategoria
  340.   LineNr := FindLine('>gatunek:</td>', Page, 0);
  341.   if LineNr > -1 then
  342.   begin
  343.     Line := Page.GetString(LineNr);
  344.     StartPos := pos('>gatunek:</td>', Line) + 10;
  345.     Line := copy(Line, StartPos, Length(Line) - StartPos);
  346.     StartPos := pos('class="text"', Line) + 12;
  347.     Line := copy(Line, StartPos, Length(Line) - StartPos);    
  348.     StartPos := pos('">', Line) + 2;
  349.     Line := copy(Line, StartPos, Length(Line) - StartPos);  
  350.     Value := copy(Line, 1, pos('</td>', Line) - 1);
  351.     DecodeHTML(Value); 
  352.     SetField(fieldCategory, Value);
  353.   end
  354.     
  355.   // Kraj
  356.   LineNr := FindLine('>produkcja:</td>', Page, 0);
  357.   if LineNr > -1 then
  358.   begin
  359.     Line := Page.GetString(LineNr);
  360.     StartPos := pos('>produkcja:</td>', Line) + 13;
  361.     Line := copy(Line, StartPos, Length(Line) - StartPos);
  362.     StartPos := pos('class="text"', Line) + 12;
  363.     Line := copy(Line, StartPos, Length(Line) - StartPos);    
  364.     StartPos := pos('">', Line) + 2;
  365.     Line := copy(Line, StartPos, Length(Line) - StartPos);  
  366.     Value := copy(Line, 1, pos('</td>', Line) - 1);
  367.     DecodeHTML(Value); 
  368.     SetField(fieldCountry, Value);
  369.   end    
  370.   
  371.   // Rok produkcji
  372.   LineNr := FindLine('>data produkcji:</td>', Page, 0);
  373.   if LineNr > -1 then
  374.   begin
  375.     Line := Page.GetString(LineNr);
  376.     StartPos := pos('>data produkcji:</td>', Line) + 12;
  377.     Line := copy(Line, StartPos, Length(Line) - StartPos);
  378.     StartPos := pos('class="text"', Line) + 12;
  379.     Line := copy(Line, StartPos, Length(Line) - StartPos);    
  380.     StartPos := pos('">', Line) + 2;
  381.     Line := copy(Line, StartPos, Length(Line) - StartPos);  
  382.     Value := copy(Line, 1, pos('</td>', Line) - 1);
  383.     SetField(fieldYear, Value);
  384.   end
  385.  
  386.   // Re┐yseria
  387.   LineNr := FindLine('yseria:</td>', Page, 0);
  388.   if LineNr > -1 then
  389.   begin
  390.     Line := Page.GetString(LineNr);
  391.     StartPos := pos('yseria:</td>', Line) + 12;
  392.     Line := copy(Line, StartPos, Length(Line) - StartPos);
  393.     Value := copy(Line, 1, pos('</a></td></tr>', Line) - 1);
  394.     HTMLRemoveTags(Value);
  395.     DecodeHTML(Value); 
  396.     SetField(fieldDirector, Value);
  397.   end
  398.  
  399.   // Producent
  400. //  LineNr := FindLine('>producent:</td>', Page, 0);
  401. //  if LineNr > -1 then
  402. //  begin
  403. //    Line := Page.GetString(LineNr);
  404. //    StartPos := pos('>producent:</td>', Line) + 16;
  405. //    Line := copy(Line, StartPos, Length(Line) - StartPos); 
  406. //    Value := copy(Line, 1, pos('</a></td></tr>', Line) - 1);
  407. //    HTMLRemoveTags(Value);
  408. //    DecodeHTML(Value); 
  409. //    SetField(fieldProducer, Value);
  410. //  end  
  411.  
  412.   // Czas trwania
  413.   LineNr := FindLine('>czas trwania:</td>', Page, 0);
  414.   if LineNr > -1 then
  415.   begin
  416.     Line := Page.GetString(LineNr);
  417.     StartPos := pos('>czas trwania:</td>', Line) + 19;
  418.     Line := copy(Line, StartPos, Length(Line) - StartPos);
  419.     StartPos := pos('class="text"', Line) + 12;
  420.     Line := copy(Line, StartPos, Length(Line) - StartPos);    
  421.     StartPos := pos('">', Line) + 2;
  422.     Line := copy(Line, StartPos, Length(Line) - StartPos);  
  423.     Value := copy(Line, 1, pos(' min.</td>', Line) - 1);
  424.     SetField(fieldLength, Value);
  425.   end
  426.   
  427.   // Opis filmu
  428.   LineNr := FindLine('O filmie</b>', Page, 0);
  429.   if LineNr > -1 then
  430.   begin
  431.     Line := Page.GetString(LineNr);
  432.     StartPos := pos('O filmie</b>', Line) + 11;
  433.     Line := copy(Line, StartPos, Length(Line) - StartPos);
  434.     StartPos := pos('">', Line) + 2;
  435.     Line := copy(Line, StartPos, Length(Line) - StartPos);  
  436.     Value := copy(Line, 1, pos('<', Line) - 1);
  437.     HTMLRemoveTags(Value);
  438.     DecodeHTML(Value); 
  439.     Value:=StringReplace(Value, chr(34),chr(39)); // zamiana cudzyslowu na apostrof
  440.     DelSpace(Value);
  441.     SetField(fieldDescription, Value);
  442.   end     
  443.   
  444.   // Obsada
  445.   LineNr := FindLine('Obsada</b>', Page, 0);
  446.   if LineNr > -1 then
  447.   begin
  448.     Line := Page.GetString(LineNr);
  449.     StartPos := pos('Obsada</b>', Line) + 10;
  450.     Line := copy(Line, StartPos, Length(Line) - StartPos);
  451.     Value := '';
  452.     repeat
  453.       if (pos('<a clas', Line) > 0) AND (pos('<a clas', Line) < pos(':</a></td>', Line)) then
  454.       begin
  455.         StartPos:= Pos('<a clas', Line) + 7;
  456.         Line:= Copy(Line, StartPos, Length(Line) - StartPos);
  457.         StartPos:= Pos('">', Line) + 2;
  458.         Line:= Copy(Line, StartPos, Length(Line) - StartPos);
  459.         Value:= Value + Copy(Line, 1, Pos(':</a></td>', Line) - 1) + ', ';
  460.         StartPos:= Pos(':</a></td>', Line) + 10;
  461.         Line:= Copy(Line, StartPos, Length(Line) - StartPos);         
  462.       end
  463.     until (pos('<a clas', Line) = 0) OR (pos('<a clas', Line) > pos(':</a></td>', Line));
  464.     Value := copy(Value, 1, Length(Value) - 2);
  465.     DecodeHTML(Value); 
  466.     SetField(fieldActors, Value);
  467.   end
  468.   
  469.   //URL
  470.   begin
  471.     setField(fieldURL, 'http://www.filmweb.pl/searchtopic.xml?gdzie=1&key='+UrlEncode(MovieName));
  472.   end
  473.   
  474.  //Foto
  475.   LineNr:= FindLine('height="118" src="http://gfx.filmweb.pl/bin2/f/', Page, 0);
  476.   if LineNr > -1
  477.  then begin
  478.     Line:= Page.GetString(LineNr);
  479.     StartPos:= Pos('height="118" src="http://gfx.filmweb.pl/bin2/f/', Line);
  480.     Line:= Copy(Line, StartPos, Length(Line));
  481.     Line:= Copy(Line, Pos('http://', Line), Length(Line));
  482.     Value:= Copy(Line, 1, Pos('" vspace=', Line) - 1);
  483.     HTMLRemoveTags(Value);
  484.     DecodeHTML(Value);
  485.     DelSpace(Value);
  486.     GetPicture(Value, False); // False = nie przechowuj zdjΩcia na zewnΩtrz ; przechowuj w pliku katalogu
  487.   end
  488.  
  489.   DisplayResults;
  490. end;
  491.  
  492. begin
  493.   if CheckVersion(3,4,2) then
  494.   begin
  495.     MovieName := GetField(fieldOriginalTitle);
  496.     if MovieName = '' then
  497.       MovieName := GetField(fieldTranslatedTitle);
  498.     if Input('FilmWeb Import', 'Podaj tytu│ filmu:', MovieName) then
  499.     begin
  500.       AnalyzePage('http://www.filmweb.pl/searchtopic.xml?gdzie=1&key='+UrlEncode(MovieName));
  501.     end;
  502.   end else
  503.     ShowMessage('Skrypt wymaga programu Ant Movie Catalog w wersji 3.4.2 lub nowszej');
  504. end.
  505.  
  506.  
  507.